import request from '@/utils/request'
// jsdoc注释
// - param --> parameter 参数
// - returns 返回值

/**
 * 登录
 * @param {string} mobile 手机号
 * @param {string} code 验证码
 * @returns Promise
 */

export const loginAPI = (mobile, code) => {
  return request({
    url: '/v1_0/authorizations',
    method: 'POST',
    data: {
      mobile,
      code
    }
  })
}

/**
 * 获取验证码
 * @param {string} mobile
 * @returns Promise
 */
export const getCodeAPI = (mobile) =>
  request({
    url: `/v1_0/sms/codes/${mobile}`
  })

/*
  路径参数：手动拼接url上
  请求头参数：headers
  查询（query）参数（get） params
  请求体（body）参数（post，patch，delete） data
*/

/*
###http 协议

请求报文（请求行，请求头，请求体，空行）
响应报文（响应行，响应头，响应体，空行）

行：请求的一些基本信息
请求头/响应头：固定的格式传递参数/信息
Content-Type：内容的类型（参数的内容类型）

请求体/响应体：非固定的格式传递参数/信息
*/

export const getUserInfoAPI = () =>
  request({
    url: '/v1_0/user'
  })

/**
 * 获取用户个人资料
 * @returns Promise
 */
export const getUserProfileAPI = () =>
  request({
    url: '/v1_0/user/profile'
  })

/**
 * 修改用户个人信息，改哪个传哪个
 * @param {*} data
 * @returns Promise
 */
export const editUserProfileAPI = (data) =>
  request({
    url: '/v1_0/user/profile',
    method: 'PATCH',
    data
  })

/**
 * 上传头像
 * @param {*} file 图片的文件对象
 * @returns Promise
 */
export const uploadPhoto = (file) => {
  const fm = new FormData()
  fm.append('photo', file)
  return request({
    url: '/v1_0/user/photo',
    method: 'PATCH',
    data: fm
  })
}
